//
//  STDSAttrbParticle.hpp
//  STDSRenderSDKIOS
//
//  Created by 陈学明 on 2023/7/10.
//

#ifndef STDSAttrbParticle_hpp
#define STDSAttrbParticle_hpp


#include <stdio.h>
#include "STDSAttrib.hpp"
#include <memory>
#include <vector>
#include <glm/glm.hpp>
#include <Basic/graphic/STDSParticle.h>

using namespace std;
using namespace glm;

class STDSAttrbParticle: public STDSAttrib {
    
public:
    STDSAttrbParticle();
    
    virtual~STDSAttrbParticle() {}

public:
    void setParticleStore(shared_ptr<STDSParticleKit> particleStore);
    
    void draw() override;
protected:
    virtual void _resetDrawFunc() override;

    virtual void _resetCount() override;

    virtual void _resetIdx() override;

    virtual void _resetVex() override;
private:
    shared_ptr<STDSParticleKit> mParticleStore;
};

#endif /* STDSAttrbParticle_hpp */
